# 第一步：连接手机
# 第二步 登录
# 1.获取desired capabilities信息
from time import sleep

from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
from appium.webdriver.common.multi_action import MultiAction
from appium.webdriver.common.touch_action import TouchAction

desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['app'] = '/home/appium/apps/kaoyan3.1.0.apk'
desired_caps['appPackage'] = 'com.tal.kaoyan'
desired_caps['appActivity'] = 'com.tal.kaoyan.ui.activity.SplashActivity'
desired_caps['noReset'] = False
# desired_caps['automationName'] = 'uiautomator2'
# 2.启动app（包含安装过程）
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.implicitly_wait(15)
# 3.点击‘取消’按钮
sleep(2)
driver.find_element(AppiumBy.ID, 'android:id/button2').click()
# 4.点击‘跳过’按钮
sleep(2)
driver.find_element(AppiumBy.ID, 'com.tal.kaoyan:id/tv_skip').click()
# 5.输入用户名和密码
# 用户名
sleep(2)
driver.find_element(AppiumBy.ID, 'com.tal.kaoyan:id/login_email_edittext').send_keys('神龙大侠999')
# 密码
sleep(2)
driver.find_element(AppiumBy.ID, 'com.tal.kaoyan:id/login_password_edittext').send_keys('ksqb0177375')
# 6.点击‘登录’按钮
sleep(2)
driver.find_element(AppiumBy.ID, 'com.tal.kaoyan:id/login_login_btn').click()
# 7.验证是否登录成功
# 帐号下线提示
try:
    element1 = driver.find_element(AppiumBy.ID, "com.tal.kaoyan:id/tip_commit")
except:
    print("没有账号下线提示")
else:
    element1.click()

# 增加新的广告处理
try:
    element3 = driver.find_element(AppiumBy.ID, "com.tal.kaoyan:id/view_wemedia_cacel")
except:
    print("没有弹出广告提示２")
else:
    element3.click()

# 检测是否有我知道了按钮
try:
    element2 = driver.find_element(AppiumBy.ID, "com.tal.kaoyan:id/task_no_task")
except:
    print("没有弹出广告提示")
else:
    element2.click()

# 根据界面是否有‘我’判断登录是否成功
try:
    # 寻找下方4个tab中的‘我’
    driver.find_element(AppiumBy.ID, "com.tal.kaoyan:id/mainactivity_button_mysefl")
except:
    print("登录失败")
else:
    print("登录成功")

sleep(2)
# 8.点击‘论坛’按钮
driver.find_element(AppiumBy.ID, 'com.tal.kaoyan:id/mainactivity_button_forum').click()
sleep(2)
# 第三步：滚动
# driver.find_element(AppiumBy.XPATH,'//*[@text="专业课学长学姐招募！知识变现等你来"]')
# xpath 路径唯一可以
# 起点
start = driver.find_element(AppiumBy.XPATH, '//*[contains(@text,"专业课学长学姐招募！知识变现等你来")]')
# 终点
end = driver.find_element(AppiumBy.XPATH, '//*[contains(@text,"【真题免费送】80000套真题陆续上线中，含专业课真题")]')

driver.scroll(start, end, 2000)

# 多指操作
# action1 = TouchAction(driver)
# action2 = TouchAction(driver)
# MultiAction(driver).add(action1, action2)
